<?php

if (!defined('BASEPATH')){
    exit('No direct script access allowed');
}

class Login extends CI_Controller {

    function __construct() {        
        parent::__construct();
        $this->load->model ( 'persona_model', '', true );
        $this->load->model ( 'usuario_model', '', true );
    }

    function index() {
        $this->load->helper(array('form'));
        $data['page_title'] = "Repuestock";
        $this->load->view('login_view', $data);
    }
    
    /**
     * metodo que permite ir al formulario para poder restablecer la contraseña
     * @author Leidy Uribe Marcos
     */
    function restablecer(){
    	$this->load->helper(array('form'));
    	$data['page_title'] = '¿No puedes Iniciar sesión?';
    	$this->load->view('restablecer_password', $data);
    }
    
    /**
     * metodo que permite enviar un correo al usuario 
     * @author Leidy Uribe Marcos
     */
    function enviar_correo(){    	
    	if(!empty($_POST['enviar'])){
    		$data['page_title'] = '¿No puedes Iniciar sesión?';
    		if(!empty($_POST['txtCorreo'])){
    			$data['correo'] = $_POST['txtCorreo'];
    			$persona = $this->persona_model->getCorreo($data);
    			if($persona){
    				$data['idPersona'] = $persona['id_persona'];
    				$correo = $this->usuario_model->getPersona($data);
    				if (sizeof($correo) > 0){
    					foreach ($correo as $usuario){
    						$idusuario = $usuario->id_usuario;
    						$username = $usuario->username;
    					}
    					$mail = $persona['correo'];
    					$enlace = base_url()."/index.php/login/prueba?idusuario=$idusuario&mail=$mail&username=$username";
    					if ($enlace){
    						$this->enviarEmail($data['correo'], $enlace);
    						$this->index();
    					}
    				}    				
    			}else {
    				$data['mensaje'] = "No existe una cuenta asociada a ese correo";
    				$this->load->view('restablecer_password', $data);
    			}
    		}
    	}else {
    		$data['mensaje'] = "Presionar boton";
    		$this->load->view('restablecer_password', $data);
    	}    	
    }
    
    /**
     * metoddo que permite dar formato del correo que se enviara al usuario
     * @author Leidy Uribe Marcos
     */
    
    function enviarEmail($correo, $enlace){
    	$mensaje = '<!DOCTYPE html>
				<html lang="en">
				<head>
					<meta content="text/html;" http-equiv="content-type" charset="utf-8">
    				<title>Restalece tu contrase&ntilde;a</title>
    			</head>
    			<body>    				
    				<center>
    					<table>
    						<tr>
    							<td><img width="80px" height="80px" src="http://app.funcionjudicial.gob.ec/agenda/agenda/img/candado.gif" /></td>
    							<td><h1><b>RepueStock</b></h1></td>
    						</tr>
    					</table><br>
    					<label>Recupera tu contrase&ntilde;a</label>
    					<br><br>
    					<fieldset>
    						<p>Por favor, para restablecer tu contrase&ntilde;a haz clic en el siguiente enlace : </p>
    						<p>
    							<a href="'.$enlace.'">Restablecer contrase&ntilde;a</a>
    						</p>
    						<p>
    							Si tienes alguna pregunta, comun&iacute;cate con el servicio de atenci&oacute;n al cliente
    							(01 555 5555)</p>
    						<p>
    							&#161;Esperamos que sigas disfrutando!</p>
    						<p>
    							Muchas gracias. El equipo Repuestock</p>
    					</fieldset>
    				</center>
    			</body>
    			</html>';
    	
    	$cabeceras = 'MIME-Version: 1.0' . "\r\n";
    	$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    	$cabeceras .= 'From: Repuestock <repuestock@gmail.com>' . "\r\n";
    	
    	mail($correo, "Recuperar Password", $mensaje,  $cabeceras);
    }
    
    /**
     * metodo que me llevara al formulario de escribir la nueva contraseña
     * @author Leidy Uribe Marcos
     */
    function prueba(){
    	$data['page_title'] = 'Nueva Contrase&ntilde;a';
    	$data['mail'] = $_GET['mail'];
    	$data['idusuario'] = $_GET['idusuario'];
    	$data['username'] = $_GET['username'];
    	$this->load->view('nuevo_password_view', $data);
    }
    
    /**
     * metodo que permite insertar la nueva contraseña del usuario en la tabla usuario 
     * @author Leidy Uribe Marcos
    */
    function insertar(){
    	$data['page_title'] = 'Nueva Contrase&ntilde;a';  
    	if (!empty($_POST['username'])){
    		$username = $_POST['username'];
    		$comprobar = $this->usuario_model->verificar($username);
    		if($comprobar){
    			foreach ($comprobar as $c){
    				$data['id_usuario'] = $c->id_usuario;
    				$data['username'] = $c->username;
    			}
    			$data['password'] = $_POST['password'];
    			$this->usuario_model->cambiar_pass($data);
    			$this->index();
    		}else {
    			$data['mensaje'] = 'usuario no existe';
    			$data['page_title'] = 'Nueva Contrase&ntilde;a';
    			$this->load->view('nuevo_password_view', $data);
    		}
    	}else{
    		$data['mensaje'] = 'ingrese un usuario valido';
    		$data['page_title'] = 'Nueva Contrase&ntilde;a';
    		$data['mail'] = "";
    		$this->load->view('nuevo_password_view', $data);
    	}   	   	
    }
       
}

?>